#ifndef MY_VIEW
#define MY_VIEW

#include "../tinyxml.h"
#include <GL\glui.h>
#include <iostream>

using namespace std;

class View
{
private:
	string id;
public:
	View(){};
	virtual int read(TiXmlElement *view)=0;
	virtual int make()=0;
	virtual View* clone() = 0;
};

class Perspective : public View
{
private:
	float near,far,angle,fromx,fromy,fromz,tox,toy,toz;
public:
	Perspective(){};
	int read(TiXmlElement *view);
	int make();
	View* clone() { return new Perspective(*this); }
};

class Ortho: public View
{
private:
	float near,far,left,right,top,bottom;
public:
	Ortho(){};
	int read(TiXmlElement *view);
	int make();
	View* clone() { return new Ortho(*this); }
};


#endif